home *** CD-ROM | disk | FTP | other *** search
/ The Sunday Times: Parent Power / The Sunday Times - Parent Power.iso / pc / engine / engine.swf / scripts / DefineSprite_264 / frame_1 / DoAction.as
Encoding:
Text File  |  2005-11-03  |  2.4 KB  |  108 lines

  1. refresh = function()
  2. {
  3.    if(SCROLLHEIGHT == null)
  4.    {
  5.       SCROLLHEIGHT = 350;
  6.    }
  7.    trace("* refresh()");
  8.    trace("-- SCROLLHEIGHT: " + SCROLLHEIGHT);
  9.    trace("-- targetHeight: " + targetHeight);
  10.    mScrollTrack._height = SCROLLHEIGHT - 22;
  11.    mArrow_down._y = SCROLLHEIGHT - 11;
  12.    maxTargetPos = 0;
  13.    targetHeight = target._height + 20;
  14.    minTargetPos = maxTargetPos - targetHeight + SCROLLHEIGHT;
  15.    targetRange = Math.abs(maxTargetPos - minTargetPos);
  16.    if(targetHeight < SCROLLHEIGHT)
  17.    {
  18.       _visible = 0;
  19.    }
  20.    else
  21.    {
  22.       _visible = 1;
  23.    }
  24.    scrolling = dragging = 0;
  25.    var _loc1_ = SCROLLHEIGHT / targetHeight;
  26.    if(_loc1_ < 1)
  27.    {
  28.       mScroller._height = _loc1_ * mScrollTrack._height;
  29.       mScroller._visible = 1;
  30.    }
  31.    else
  32.    {
  33.       mScroller._visible = 0;
  34.    }
  35.    minScrollerPos = mScrollTrack._y;
  36.    maxScrollerPos = minScrollerPos + mScrollTrack._height - mScroller._height;
  37.    scrollerRange = Math.abs(mScrollTrack._height - mScroller._height);
  38.    SCROLLSPEED = 5;
  39.    scrollerColor = new Color(mScroller);
  40.    updateScroller();
  41. };
  42. mArrow_up.onPress = function()
  43. {
  44.    onEnterFrame = scrollUp;
  45. };
  46. mArrow_down.onPress = function()
  47. {
  48.    onEnterFrame = scrollDown;
  49. };
  50. mScroller.onPress = function()
  51. {
  52.    var _loc1_ = this;
  53.    _loc1_.startDrag(0,_loc1_._x,minScrollerPos,_loc1_._x,maxScrollerPos);
  54.    _loc1_.onMouseMove = _loc1_._parent.drag;
  55. };
  56. mScroller.onRollOver = function()
  57. {
  58.    scrollerColor.setRGB(6443289);
  59. };
  60. mScroller.onRollOut = function()
  61. {
  62.    scrollerColor.setRGB(12170390);
  63. };
  64. this.onMouseUp = function()
  65. {
  66.    onEnterFrame = null;
  67.    onMouseMove = null;
  68.    mScroller.stopDrag();
  69.    updateScroller();
  70. };
  71. scrollUp = function()
  72. {
  73.    if(target._y < maxTargetPos)
  74.    {
  75.       target._y += SCROLLSPEED;
  76.    }
  77.    if(target._y > maxTargetPos)
  78.    {
  79.       target._y = maxTargetPos;
  80.    }
  81.    updateScroller();
  82. };
  83. scrollDown = function()
  84. {
  85.    if(target._y > minTargetPos)
  86.    {
  87.       target._y -= SCROLLSPEED;
  88.    }
  89.    if(target._y < minTargetPos)
  90.    {
  91.       target._y = minTargetPos;
  92.    }
  93.    updateScroller();
  94. };
  95. drag = function()
  96. {
  97.    var _loc1_ = mScroller._y - minScrollerPos;
  98.    var _loc2_ = _loc1_ / scrollerRange;
  99.    target._y = maxTargetPos - _loc2_ * targetRange;
  100. };
  101. updateScroller = function()
  102. {
  103.    var _loc1_ = maxTargetPos - target._y;
  104.    var _loc2_ = _loc1_ / targetRange;
  105.    mScroller._y = minScrollerPos + _loc2_ * scrollerRange;
  106. };
  107. refresh();
  108.